/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package examenDAO;

import java.util.ArrayList;
import java.util.List;
import examenTO.alumnoTo;
import examenUTIL.DBConn;

/**
 *
 * @author Alumno
 */
public class alumnoDao extends DBConn{
    public int insertarAlumno(alumnoTo to) {
        int r=0;
        try {
            getConexionDb();
           ps=con.prepareStatement("insert into "
                   +"alumno.alumno(codigo, nombre, apellmat, apellpat, email, telefono, dni, direccion,) "
                   + "values (?, ?, ?, ?, ?, ?, ?, ?)"); 
            ps.setString(1, to.getCodigo());
            ps.setString(2, to.getNombre());
            ps.setString(3, to.getapellmat());
            ps.setString(4, to.getapellpat());
            ps.setString(5, to.getTelefono());
            ps.setString(6, to.getEmail());
            ps.setString(7, to.getTelefono());
            ps.setString(8, to.getDireccion());

            if (ps.executeUpdate() == 1) {
                r=1;    
                System.out.println("Insertado!!!");
            }
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }

        return r;
    }    
    
    /**
     *
     * @param idAlumno the value of idAlumno
     */
    public alumnoTo buscarAlumnoId(String idAlumno){
    alumnoTo alumno=new alumnoTo();
        try {
           getConexionDb();
            ps=con.prepareStatement("select * from alumno "
                    + "where id_alumno=? ");
            ps.setInt(1, Integer.parseInt(idAlumno));
            rs=ps.executeQuery();
            if(rs.next()){
            alumno.setId_alumno(rs.getInt("id_alumno"));    
            alumno.setCodigo(rs.getString("codigo"));
            alumno.setNombre(rs.getString("nombre"));
            alumno.setapellpat(rs.getString("apellpat"));
            alumno.setapellmat(rs.getString("apellmat"));
            alumno.setDni(rs.getString("dni"));
            alumno.setEmail(rs.getString("email"));
            alumno.setDireccion(rs.getString("direccion"));
            alumno.setTelefono(rs.getString("telefono"));            
            }
        } catch (Exception e) {     }
        return alumno;
    }
    
    public List buscarAlumnoDatos(String datos){    
     List lista=new ArrayList();
        try {
           getConexionDb();
            ps=con.prepareStatement("select * from alumno.alumno where codigo like ? ");
            ps.setString(1, "%"+datos+"%");
            rs=ps.executeQuery();
            while(rs.next()){
            alumnoTo alumno=new alumnoTo();
            alumno.setId_alumno(rs.getInt("id_alumno"));    
            alumno.setCodigo(rs.getString("codigo"));
            alumno.setNombre(rs.getString("nombre"));
            alumno.setapellpat(rs.getString("apellpat"));
            alumno.setapellmat(rs.getString("apellmat"));
            alumno.setDni(rs.getString("dni"));
            alumno.setEmail(rs.getString("email"));
            alumno.setDireccion(rs.getString("direccion"));
            alumno.setTelefono(rs.getString("telefono")); 
            lista.add(alumno);
            }
        } catch (Exception e) {  System.out.println(e.getMessage());   }
        return lista;
    }    
    public List reporteAlumno() {   //list:return del mismo tipo
        List reporte = new ArrayList();
        alumnoTo to;
        try {
            getConexionDb();
           
            
            ps = con.prepareStatement("select * from alumno.alumno ");
            rs = ps.executeQuery();
            while (rs.next()) {
               to = new alumnoTo();
                to.setId_alumno(rs.getInt("id_alumno"));
                to.setCodigo(rs.getString("codigo"));
                to.setNombre(rs.getString("nombre"));
                to.setapellpat(rs.getString("apellpat"));
                to.setapellmat(rs.getString("apellmat"));
                to.setDireccion(rs.getString("direccion"));
                to.setEmail(rs.getString("email"));
                to.setTelefono(rs.getString("telefono"));
                to.setDni(rs.getString("dni"));


                reporte.add(to);
                
                
                System.out.println("Reportado..!");
                
            }
        } catch (Exception e) {
            System.out.println("Error en Reporte alumno..." + e.getMessage());
        }
        finally {
         getCerrarConexion();
        }
        return reporte;

    }
    public void eliminarRegistroAlumno(int id_alumno) {
        try {
            getConexionDb();
            ps=con.prepareStatement("Delete FROM alumno.alumno WHERE id_alumno=? ");
            ps.setInt(1, id_alumno);
            
            if(ps.executeUpdate()==1){
                
                System.out.println(" Eliminado");
            }
        } catch (Exception e) {
        }
        finally{
            getCerrarConexion();
        }
    }
    public void actualizarDatosAlumno(alumnoTo to,int id_alumno ) {
        try {
             
            getConexionDb();
            ps=con.prepareStatement("update alumno.alumno set codigo=?, nombre=?, apellpat=?,apellmat=?, dni=?, email=?, telefono=?, direccion=? WHERE id_alumno=?");
            ps.setString(1, to.getCodigo());
            ps.setString(2, to.getNombre());
            ps.setString(3, to.getapellpat());
            ps.setString(4, to.getapellpat());
            ps.setString(5, to.getDni());
            ps.setString(6, to.getEmail());
            ps.setString(7, to.getTelefono());
            ps.setString(8, to.getDireccion());
            ps.setInt(9, id_alumno);
            
            ps.executeUpdate(); 
         
         System.out.println("Actualizado");
          
        } catch (Exception e) {
        } finally {
            getCerrarConexion();
        }
    }
}




    
    
    
    
    

